package com.jy.datapipeline.common.util;

import com.jy.datapipeline.common.exception.GlobalException;
import org.apache.commons.lang.StringUtils;
import org.springframework.util.CollectionUtils;

import java.util.List;
import java.util.Set;

/**
 * @类名 AssertUtil
 * @描述 TODO
 * @作者 白条君
 * @创建日期 2023/7/31 19:17
 * @版本 1.0
 */
public class AssertUtil {

    public static <T> void totalAffectedRows(int size, List<T> list, String msg) {
        if (CollectionUtils.isEmpty(list) || size != list.size()) {
            throw new GlobalException(msg);
        }
    }

    public static <T> void totalAffectedRows(int size, Set<T> set, String msg) {
        if (CollectionUtils.isEmpty(set) || size != set.size()) {
            throw new GlobalException(msg);
        }
    }

    public static void isNull(int res, String msg) {
        if (res == 0) {
            throw new GlobalException(msg);
        }
    }

    public static <T> void isNull(T t, String msg) {
        if (t == null) {
            throw new GlobalException(msg);
        }
        if (t instanceof String) {
            String s = (String) t;
            if (StringUtils.isBlank(s)) {
                throw new GlobalException(msg);
            }
        }
    }

    public static void isNotNUll(Integer res, String msg) {
        if (res != null) {
            throw new GlobalException(msg);
        }
    }

    public static <T> void isNotNUll(T t, String msg) {
        if (t != null) {
            throw new GlobalException(msg);
        }
    }
}
